import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Test {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        //list.remove(new Integer(3));
        //list.remove(1);
        //System.out.println(list.get(0));
        //list.set(0 , 99);
        //System.out.println(list);
        list.add(4);
        list.add(5);
        List<Integer> list3 = list.subList(1 , 3);
        list3.set(0 , 188);
        System.out.println(list);
        System.out.println(list3);//此时list3字符串的的零下标变为188，而list字符串的1下标变为188，
                                  // 因为截取只是截取了地址发送过去
        //能够通过sout直接输出引用对象当中内容的时候，重写了toString方法
        Iterator<Integer> it = list.iterator();//此时it先当与一个指针从0的上一个开始
        while(it.hasNext()){
            System.out.print(it.next() + " ");//此时的it.next()相当于0下标开始
        }
        ListIterator<Integer> listIterator = list.listIterator();
        while(listIterator.hasNext()){
            System.out.print(listIterator.next() + " ");//此时的it.next()相当于0下标开始
        }
        //上面的为父类，下面的为子类



    }

}
